01
Compose测试概述
为什么需要UI测试、Compose测试的优势、测试金字塔与Compose
概念金字塔
02
测试环境搭建
添加测试依赖、配置测试运行器、创建第一个测试类
环境依赖
03
ComposeTestRule入门
createComposeRule、setContent、基本断言
规则断言
04
查找元素
onNodeWithText、onNodeWithTag、onNodeWithContentDescription
定位语义
05
执行操作
performClick、performTextInput、performScrollTo
交互动作
06
状态验证
assertIsDisplayed、assertTextEquals、assertExists
验证状态
07
列表测试
LazyColumn测试、滚动测试、列表项查找
列表滚动
08
手势测试
点击、长按、滑动、拖拽测试
手势触摸
09
文本输入测试
TextField测试、输入验证、清除文本
输入TextField
10
对话框测试
AlertDialog测试、确认/取消按钮测试
弹窗交互
11
导航测试
NavHost测试、路由跳转验证、返回栈测试
导航路由
12
ViewModel集成测试
ViewModel与Compose测试、状态流测试
ViewModel状态
13
Repository模拟测试
MockK入门、模拟数据层、验证交互
MockK模拟
14
依赖注入测试
Hilt测试、测试模块、作用域测试
HiltDI
15
协程测试
runTest、TestDispatcher、延迟测试
协程调度
16
快照测试
Roborazzi入门、截图对比、基线管理
快照截图
17
无障碍测试
语义属性测试、无障碍操作测试
无障碍a11y
18
性能测试
Macrobenchmark入门、启动性能、帧率测试
性能基准
19
自定义布局测试
LayoutNode测试、测量验证、放置验证
布局自定义
20
动画测试
animateFloatAsState测试、动画断言、帧控制
动画帧
21
主题测试
MaterialTheme测试、颜色验证、字体验证
主题Material
22
多屏幕适配测试
不同尺寸测试、横竖屏测试、折叠屏测试
适配屏幕
23
本地化测试
字符串资源测试、RTL布局测试、区域设置测试
本地化RTL
24
错误状态测试
加载失败测试、空状态测试、网络异常测试
错误异常
25
表单验证测试
输入校验测试、错误提示测试、提交逻辑测试
表单校验
26
单元测试基础
JUnit5入门、断言方法、测试生命周期
JUnit5基础
27
ViewModel单元测试
状态管理测试、业务逻辑测试、LiveData测试
ViewModelLiveData
28
Repository单元测试
数据源测试、缓存策略测试、错误处理测试
Repository数据
29
UseCase单元测试
业务规则测试、边界条件测试、异常路径测试
UseCase边界
30
测试覆盖率与CI集成
JaCoCo配置、GitHub Actions集成、测试报告生成
覆盖率CI